class Book(val title: String, val author: String, val isbn: String) {
  def borrow(): Unit = {
    println("借书")
  }

  def returnBook(): Unit = {
    println("还书")
  }
}

object Book {
  def apply(title: String, author: String, isbn: String): Book = {
    new Book(title, author, isbn)
  }

  def unapply(book: Book): Option[(String, String, String)] = {
    Some(book.title, book.author, book.isbn)
  }
}

class Library(var books: List[String] ) {
  def addBook(book: String): Unit = {
    books = books :+ book
  }

  def borrowBook(isbn: String,book: String): Unit = {
    if (isbn!=null) {
      books = books.filter(_ != book)
        println("可以借走")
      } else {
        println("没有书")
      }
    }
  }

  def returnBook(isbn: String): Unit = {
    if (isbn!=null) {
      println("归还书籍")
    } else {
      println("不能归还")
    }

}
/*
1.设计一个图书管理系统，其中包括Book类和Library类。Book类应该包括书名、作者和ISBN等属性，
并且能够实现借出和归还书籍的方法。Library类应该包括一个可用书籍列表和一个已借出书籍列表，以及能够添加新书、
借出书籍和归还书籍的方法。（apply、unapply方法必须使用）*、